class X{
    Y y=new Y();//1
    public X(){//2
        System.out.print("X");
    }
}
class Y{
    public Y(){//3
        System.out.print("Y");
    }
}
public class Z extends X{
    Y y=new Y();//4
    public Z(){//5
        System.out.print("Z");
    }
    public static void main(String[] args) {
        new Z();
    }
}
class Base{
    public Base(String s){
        System.out.print("B");
    }
}

/*public class Derived extends Base{
    public Derived (String s) {
        System.out.print("D");
    }
    public static void main1(String[] args){
        new Derived("C");
    }
}*/
/*class Base {
    Base() {
        System.out.print("Base");
    }
}

public class Alpha extends Base{

    public static void main( String[] args ) {
        new Alpha();//1
        //调用父类无参的构造方法
        new Base();//2
    }
}*/
/*
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            int z = scanner.nextInt();
            Sub sub = new Sub(x, y, z);
            System.out.println(sub.calculate());
        }
    }

}

class Base {

    private int x;
    private int y;

    public Base(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

}

class Sub extends Base {

    private int z;

    public Sub(int x, int y, int z) {
       super(x, y);
       this.z=z;
    }

    public int getZ() {
        return z;
    }

    public int calculate() {
        return super.getX() * super.getY() * this.getZ();
    }

}




*/
